package org.lele.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class ProjectPayExportDto {

    private Long order;

    @ApiModelProperty(value = "业务单位")
    @ExcelProperty(value = "业务单位")
    private String ownerUnit;

    @ApiModelProperty(value = "项目id")
    @ExcelIgnore
    private Long projectId;

    @ApiModelProperty(value = "项目名称")
    @ExcelProperty(value = "项目名称")
    private String projectName;

    /**
     * 工程中：项目预录的总项名称
     */
    @ExcelProperty(value = "总项目id")
    @ApiModelProperty(value = "总项目id")
    private Long totalProjectId;

    @ExcelProperty(value = "子项：总项目Name")
    @ApiModelProperty(value = "子项")
    private String totalProjectName;

    @ApiModelProperty(value = "项目性质字典id")
    @ExcelIgnore
    private Long projectNatureDict;

    @ApiModelProperty(value = "项目性质字典name")
    @ExcelProperty(value = "项目性质")
    private String projectNatureDictName;

    @ApiModelProperty(value = "计划开始时间")
    @ExcelIgnore
    private String planStartDate;

    @ApiModelProperty(value = "计划结束时间")
    @ExcelIgnore
    private String planEndDate;

    @ApiModelProperty(value = "拟建期限")
    @ExcelProperty(value = "拟建期限")
    private String planDate;

    @ApiModelProperty(value = "项目概况")
    @ExcelProperty(value = "项目概况")
    private String buildingContent;

    @ApiModelProperty(value = "项目地址")
    @ExcelProperty(value = "项目地址")
    private String buildingAddress;

    /**
     * （项目建议书中的计划总投资）
     */
    @ApiModelProperty(value = "项目建议书中的计划总投资（4位小数，万元）")
    @ExcelProperty(value = "计划总投资（立项）")
    private BigDecimal planTotalMoney;

    /**
     * 初步设计中的概算总投资
     */
    @ApiModelProperty(value = "概算总投资（4位小数，万元）")
    @ExcelProperty(value = "计划总投资（概设）")
    private BigDecimal totalEvaluationInvestment;

    /**
     * 工程月报中的“自开工累计完成投资额”
     */
    @ApiModelProperty(value = "自开工累计完成投资额（万元）")
    @ExcelProperty(value = "自开工累计完成投资（发改）")
    private BigDecimal monthAddUpdAmount;

    /**
     * 为空，列表在中不展示，仅导出
     */
    @ApiModelProperty(value = "截至上年完成投资（发改）")
    @ExcelProperty(value = "截至上年完成投资（发改）")
    private BigDecimal cutOffYearFinishAmount;

    /**
     * 工程月报中的“本年计划投资额”
     */
    @ApiModelProperty(value = "本年计划投资：本年计划投资额（万元）")
    @ExcelProperty(value = "本年计划投资（发改）")
    private BigDecimal yearPlanAmount;

    /**
     * 当月完成投资额（工程月报中的“当月完成投资额”）【列表中不显示】
     */
    @ApiModelProperty(value = "当月完成投资额（工程月报中的“当月完成投资额”）")
    @ExcelProperty(value = "当月完成投资（发改）")
    private BigDecimal monthFinishedAmount;

    /**
     * 空着，用户自己算
     */
    @ApiModelProperty(value = "本年完成投资：1～12月完成投资额（万元）之和")
    @ExcelProperty(value = "本年完成投资（发改）")
    private String monthFinishedAmountAll;

    /**
     * 空着，用户自己算，本年完成投资额/本年计划投资额（若本年完成投资额为空，则不显示）
     */
    @ApiModelProperty(value = "1～12月完成投资额（万元）之和")
    @ExcelProperty(value = "本年完成进度（完成率）")
    private String yearFinishedRate;

    /**
     * 自开工累计完成投资/计划总投资（立项）
     */
    @ApiModelProperty(value = "自开工累计完成投资/计划总投资")
    @ExcelProperty(value = "累计形象进度（完成率）")
    private String addUpRate;

    @ApiModelProperty(value = "项目进展")
    @ExcelProperty(value = "项目进展%")
    private BigDecimal estimateOverallProgress;

    /**
     * 开工申请-材料上传，提交了就算已开工，不管是不是审批通过”
     */
    @ApiModelProperty(value = "开工报告是否上传，上传则为“已开工”")
    @ExcelProperty(value = "所处阶段")
    private String projectStage;

    /**
     * 工程支付申请1+工程支付申请2的当月累计支付金额（以审批发起时间为准，审批通过的支付申请）
     */
    @ApiModelProperty(value = "工程支付申请1+工程支付申请2的当月累计支付金额（以审批发起时间为准，审批通过的支付申请）")
    @ExcelProperty(value = "当月支出金额")
    private String monthPayAmount;

    @ApiModelProperty(value = "总投资")
    @ExcelProperty(value = "总投资(万元)")
    private BigDecimal totalMoney;

    @ApiModelProperty(value = "截止上年累计支出金额（万元）")
    @ExcelProperty(value = "截止上年累计支出金额（万元）")
    private BigDecimal lastYearPayMoney;

    @ApiModelProperty(value = "本年计划支出金额")
    @ExcelProperty(value = "本年计划支出金额（万元）")
    private BigDecimal yearValue;

    @ApiModelProperty(value = "本年累计支出金额")
    @ExcelProperty(value = "本年累计支出金额（万元）")
    private BigDecimal yearPayMoneyCount;

    @ApiModelProperty(value = "自开工累计支出金额")
    @ExcelProperty(value = "自开工累计支出金额（万元）")
    private BigDecimal startPayMoneyCount;

    @ApiModelProperty(value = "年月")
    @ExcelProperty(value = "年月")
    private String date;
}
